Some applications such as video games involve representing three-dimensional objects to a user. In one example, an adventure game played by a user in a virtual reality environment may require the generation of virtual trees, rocks, and people. In another example, a mapping application may require the representation of buildings. In some applications, each such object includes a triangular mesh having a plurality of vertices, e.g., points in space that form triangles. Such a triangular mesh includes a plethora of data that may be stored on disk and transmitted to the user. Practical implementations of storing and transmitting the triangular mesh data representing a virtual object include compressing the triangular mesh data.